//
//  Item.m
//  ProyectoMoviTiendas
//
//  Created by Daniel Paez on 3/6/12.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//

#import "Item.h"

@implementation Item

@synthesize cantidad, precioUnitario, producto,tienda;

- (id)initConCantidad: (int) cantid 
            conPrecio: (int) precio 
          conProducto:(Producto *)product
            conTienda: (Tienda *) tienda
{
    self = [self init];
    if (self) {
        self.cantidad = cantid;
        self.precioUnitario = precio;
        producto = product;
        self.tienda = tienda;
    }
    return self;
}

- (void) encodeWithCoder:(NSCoder*) coder
{
    // cantidad, precioUnitario, producto,tienda;
    
    
    [coder encodeInt:[self cantidad] forKey:@"cantidad"];
    [coder encodeInt:[self precioUnitario] forKey:@"precioUnitario"];
    [coder encodeObject:[self producto] forKey:@"producto"];
    [coder encodeObject:[self tienda] forKey:@"tienda"];    
    //    [coder encodeFloat:[self strokeWidth] forKey:@"stroke_width"];
}


- (id) initWithCoder:(NSCoder*) coder
{
    //[self init];
        self = [super init];
    self.cantidad = [coder decodeIntForKey:@"cantidad"];
    self.precioUnitario = [coder decodeIntForKey:@"precioUnitario"];
    self.producto = [coder decodeObjectForKey:@"producto"];    
    self.tienda = [coder decodeObjectForKey:@"tienda"];
    //[self setStrokeWidth:[coder decodeFloatForKey:@"stroke_width"]];
    
    return self;
}
+(Item *) copiarItem: (Item *) item
{
    Item * copia = [[Item alloc] initConCantidad:item.cantidad conPrecio:item.precioUnitario conProducto:item.producto conTienda:item.tienda]; 
    return copia;
}

- (BOOL)isEqual:(id)other {
    if (other == self)
        return YES;
    if (!other || ![other isKindOfClass:[self class]])
        return NO;
    return [self isEqualToWidget:other];
}

- (BOOL)isEqualToWidget:(Item *)aWidget {
    if (self == aWidget)
        return YES;
    if (![self.producto.nombre isEqualToString:aWidget.producto.nombre])
        return NO;
    
    return YES;
}
@end
